package org.jcnc.IDEology.kernel;

/**
 * Defines the Module interface.
 */
public interface Module {
    /**
     * Method to initialize a module.
     */
    void initModule();

    /**
     * Method to start a module.
     */
    void startModule();

    /**
     * Method to stop a module.
     */
    void stopModule();

    /**
     * Receives a message.
     * @param message The received message.
     */
    default void receiveMessage(String message) {
        // Default implementation, can be overridden in specific module classes
        System.err.println("Received message: " + message);
    }
}
